package educrypt.i18n;

import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Messages {
	public static String LANG_ES = "es";
	public static String LANG_EN = "en";

	private static Locale currentLocale = Locale.getDefault();

	// Constante con a los .properties (sin la extension de idioma)
	private static final String BUNDLE_NAME = Messages.class.getPackage()
			.getName().replace('/', '.')
			+ ".messages";

	// Representación del fichero properties
	private static ResourceBundle RESOURCE_BUNDLE = ResourceBundle
			.getBundle(BUNDLE_NAME);

	// Cambia el idioma usado
	public static void setLocale(Locale locale) {
		currentLocale = locale;
		// Recarga las entradas de la tabla
		RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, locale);
	}

	// Obtiene el idioma usado 
	public static Locale getLocale() {
		return currentLocale;
	}

	// Obtiene una cadena a partir de un identificador(key)
	public static String getString(String key) {
		try {
			// Devuelve una entrada de la tabla
			return RESOURCE_BUNDLE.getString(key);
		} catch (MissingResourceException e) {
			return '!' + key + '!';
		}
	}
}